Ext.ns('AmHistoryRecordView');

AmHistoryRecordView = Ext.extend(Ext.Panel, {
	// 头部工具栏
	topbar : null,
	// 条件搜索Panel
	searchPanel : null,
	// 数据展示Panel
	gridPanel : null,
	// GridPanel的数据Store
	store : null,
	// 构造函数
	constructor : function(_cfg) {
		Ext.applyIf(this, _cfg);
		// 初始化组件
		this.initUIComponents();
		// 调用父类构造
		AmHistoryRecordView.superclass.constructor.call(this, {
					id : 'AmHistoryRecordView',
					title : '电表查询',
					region : 'center',
					layout : 'border',
					items : [this.searchPanel, this.gridPanel]
				});

	},// end of constructor

	// 初始化组件
	initUIComponents : function() {
		// 初始化搜索条件Panel
		this.searchPanel = new Ext.FormPanel({
					id : 'AmHistoryRecordSearchForm',
					height : 100,
					region : 'north',
					frame : false,
					border : false,
					padding : '10',
					layout : 'column',
					title : '查询条件',
					labelWidth : 60,
					layoutConfig : {
						padding : '5',
						align : 'middle'
					},
					defaults : {
						columnWidth : 0.33,
						layout : 'form',
						border : false,
						style : 'padding-left:10px;',
						defaults : {
							xtype : 'textfield',
							width : 100
						}
					},
					items : [{
								items : [{
											fieldLabel : '抄表年月',
											xtype : 'monthfield',
											value : new Date(),
											editable : false,
											allowblank : false,
											name : 'Q_month_S_LK'
										}, {
											fieldLabel : '区  ID',
											name : 'Q_pdaAmMeter.districtId_S_LK'
										}]
							}, {
								items : [{
											fieldLabel : '电表编号',
											name : 'Q_amId_S_LK'
										}, {
											fieldLabel : '栋     ID',
											name : 'Q_pdaAmMeter.buildingId_S_LK'
										}]
							}, {
								items : [{
											fieldLabel : '房     ID',
											name : 'Q_pdaAmMeter.aparmentId_S_LK'
										}]
							}/*, {
								items : [{
									fieldLabel : '记录状态',
									columnWidth : 0.25,
									hiddenName : 'Q_status_S_IN',
									xtype : 'combo',
									valueField : 'status',
									displayField : 'statusData',
									mode : 'local',
									width : 100,
									editable : false,
									triggerAction : 'all',
									value : '0,1,2,3,4',
									store : [['0,1,2,3,4', '所有'], ['0', '待审核'],
											['1', '已审核'], ['2,3,4', '异常']]
								}]
							}*/,{
									items : [{
										xtype:'hidden',
										name : 'Q_status_S_EQ',
										value: '1'
									}]
			              }]
				});// end of the searchPanel

		this.store = new Ext.data.Store({
					proxy : new Ext.data.HttpProxy({
								url : __ctxPath + '/pdaweb/listPdaAmMeterList.do',
								params : {
									'Q_status_L_EQ' : '1'
								}
							}),
					reader : new Ext.data.JsonReader({
								root : 'result',
								totalProperty : 'totalCounts',
								fields : [{
											name : 'id',
											type : 'int'
										}, 'status', 'amId', 'lastDegree',
										'degree', 'usage',
										'pdaAmMeter.districtId',
										'pdaAmMeter.buildingId',
										'pdaAmMeter.aparmentId',
										'recorderId', 'month']
							}),
					remoteSort : true
				});// end of the store

		var cm = new Ext.grid.ColumnModel({
					columns : [ new Ext.grid.RowNumberer(), {
								header : '电表编号',
								width : 150,
								dataIndex : 'amId'
							}, {
								header : '上月读数',
								width : 100,
								dataIndex : 'lastDegree', // lastdegree
								renderer : function(val) {
									return val == -1 ? "" : val;
								}
							}, {
								header : '读数',
								width : 100,
								dataIndex : 'degree'
							}, {
								header : '当月用量',
								width : 100,
								dataIndex : 'usage'
							}, {
								header : '区ID',
								width : 100,
								dataIndex : 'pdaAmMeter.districtId'
							}, {
								header : '栋ID',
								width : 100,
								dataIndex : 'pdaAmMeter.buildingId'
							}, {
								header : '房ID',
								width : 100,
								dataIndex : 'pdaAmMeter.aparmentId'
							}, {
								header : '抄表人',
								width : 100,
								dataIndex : 'recorderId'
							}, {
								header : '抄表年月',
								width : 100,
								dataIndex : 'month'
							}],
					defaults : {
						sortable : true,
						menuDisabled : false
						//width : 100
					}
				});// end of the cm

		this.topbar = new Ext.Toolbar({
					id : 'WaterHistorRecordFootBar',
					height : 30,
					bodyStyle : 'text-align:left',
					items : [new Ext.Button({
								iconCls : 'search',
								text : '查询',
								handler : function() {
									var searchPanel = Ext
											.getCmp('AmHistoryRecordSearchForm');
									var gridPanel = Ext
											.getCmp('AmHistoryRecordGrid');
									if (searchPanel.getForm().isValid()) {
										$search({
													searchPanel : searchPanel,
													gridPanel : gridPanel
												});
									}
								}
							})]
				});

		this.gridPanel = new Ext.grid.GridPanel({
					id : 'AmHistoryRecordGrid',
					tbar : this.topbar,
					region : 'center',
					store : this.store,
					trackMouseOver : true,
					disableSelection : false,
					loadMask : true,
					autoHeight : true,
					cm : cm,/*
					viewConfig : {
						forceFit : true,
						enableRowBody : false,
						showPreview : false,
						getRowClass : function(record, rowIndex, rowParams,
								store) {// 异常状态
							var status = record.data.status;
							if ('2' == status) {
								return 'x-grid-record-error';
							} else if ('3' == status || '4' == status) {
								return 'x-grid-record-warning';
							} else {
								return '';
							}
						}
					},*/
					bbar : new Ext.PagingToolbar({
								pageSize : 25,
								store : this.store,
								displayInfo : true,
								displayMsg : '当前显示从{0}至{1}， 共{2}条记录',
								emptyMsg : "当前没有记录"
							})
				});

		var gridPanel = this.gridPanel;
	}
});

// 编辑
AmHistoryRecordView.edit = function(recId, recordStr) {
	new WaterForm({
				recId : recId,
				recordStr : recordStr
			}).show();
};
